1. Field of the Invention
The present invention relates to networking systems. More particularly, this invention relates to a method and apparatus for determining the unique address of a node in a networking system having distributed intelligence.
2. Background Information
It has become quite common in the computing industry to transfer data and commands between data processing devices such as computers, printers, displays, terminals, and other devices which are typically known as "nodes" or network resources. Interconnection of computers and other devices has been accomplished with networks, such networks which include local area networks (LAN's). LAN's use a variety of communication techniques such as carrier sense multiple access with collision detection (CSMA/CD) protocols for communication between nodes in the LAN. CSMA/CD is otherwise known as the ISO 8802 Part 802.3 of the IEEE 802 standard.
In addition to networking of computers, local area networks have been forecast as being used for many applications, such as eliminating costly and complicated wiring in many applications. This includes, among other things, their use in automotive, domestic, aviation and ship-borne applications. This type of network is known as the "field bus." (See David Hutchinson, Local Network Architectures, Addison Wesley, 1988, p. 75; P. Pleinevaux & J. D. Decotignie, "Time Critical Communication Networks: Field Buses", IEE Network Vol. 2, No. 3 pp. 55-63, May 1988; R. Jurgen, "Coming From Detroit: Networks on Wheels," IEEE Spectrum, Vol. 23, No. 6, pp. 53-59, June 1986; and R. Jurgen, "Detroit '88: Driver Friendly," IEEE Spectrum, Vol. 24, No. 12, pp. 53-57, December 1987). In other words, each device in a particular application may include a unit which provides communication and unique identification for the device to send and receive messages passed over a communications medium. Therefore, instead of expensive wiring and the entailing maintenance, cost, weight, and other problems associated with multiple communications media in an application such as the wiring in an automobile, a single communication medium may be used upon which messages between devices may be passed. Another example is that of the home management system. This is described and discussed in more detail with reference to FIG. 1.
As shown in FIG. 1, a house such as 100 shown in FIG. 1 may have a number of devices in it which are coupled via a single communications medium 110. 110 may be a twisted-pair wire, a coaxial, or a fiber optic communications medium such as used in Ethernet or other similar communications technology using a bus standard. Some systems, such as the "X-10" system sold by Leviton, BSR or Tandy Corporation, use normal house wiring as communication medium 110. In this environment, given devices and switches may have intelligence so that if a particular switch is actuated, that switch will send a signal on communication medium 110 to cause a particular device to perform a predefined operation. For instance, lights 101, 102, 103, and 104, may be actuated by any or all of switches 105, 106, 107, or 108. For instance, if switch 105 is thrown to a "closed" position, light 101 may be illuminated. Alternatively, 105 may illuminate lights 101 and 102, or it may illuminate all of lights 101-104. This use may be important in a security or alarm system, or a situation where one master light switch is desired.
As can be appreciated from viewing house 100 in FIG. 1, the physical placement of various switches and devices in the system is important. In other words, it is important to know that certain devices located in one region of a house may only act upon devices located in that region. For instance, switch 105 which is located near light 101 may be configured to operate light 101. In contrast, switch 105 will not operate light 103 which is located at the other side of the house. Because control of light 101 is accomplished via communication with circuitry in switch 105 across medium 110, it is important that each of the devices have a unique identification associated with them in order to distinguish one device from another. In hardwired systems, this is not necessary because, in this example, switches would be directly wired only to the devices that they control. Hardwired systems have the disadvantage that the relationships between switches or controls and devices cannot be changed without costly rewiring. Distributed intelligence control networking systems do not have these disadvantages.
It is the motivation of wire savings and of flexibility that is causing a movement away from hardwired systems and towards distributed control. To allow communication between nodes in such a system, each node must have a unique address or other identifier associated with it. With the increase in the popularity of distributed control has come the understanding of the need for a better, simpler way to assign addresses correctly to each node during the installation process to enable communication between nodes.
Many systems today depend on an installer correctly setting dip switches, rotary switches, or typing in a long number in the case of Ethernet to set a unique network address for a node. All these methods are subject to human error. These errors lead to costly repairs of the installation involving finding the two or three nodes out of hundreds which have the same address.
U.S. Pat. No. 4,918,690, Markkula, et al. entitled "Network and Intelligent Cell for Providing Sensing, Bidirectional Communications and Control" (hereinafter the '690 patent) references the concept of a unique identifier (ID) in each node to simplify addressing. The application describes an invention for automatically getting each unique ID and associating the ID with the specific node in the system which has that ID. This is accomplished without the setting of switches or typing of numbers.
Addressing and node identification are a necessary part of any network communication. A unique identification of a device may reside at the network layer of the open system interconnections model (ISO/OSI). The ISO/OSI model is shown in more detail with reference to Table 1 below:
TABLE 1 ______________________________________ Level # Layer ______________________________________ 7 Application Layer 6 Presentation Layer 5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer ______________________________________
The reference model describes a layered approach to communication architectures, wherein seven levels are defined. Each of these levels has certain functions. The physical layer is concerned with the electrical and mechanical means of transmitting and receiving information using a communications medium. It defines the details of connecting cables and processing digital data signals. The data link layer is responsible for managing the integrity of information sent between two points. The network layer has the responsibility of ensuring that information is routed correctly through the communication medium to the nodes it is intended for. Until nodes have a correct network address, the upper layers in the application will not function. The transport layer is responsible for shielding the upper layers in the ISO/OSI model from the specific details used by the lower layers of the ISO/OSI model. The transport layer is a network independent service between the application layers which are found above it. It provides end-to-end acknowledgement and duplicate detection. The session layer provides a means for establishing a communication session between two application processes which police the session and terminate it in an orderly fashion. It provides checkpoints to which a return can be made in the case of a failure. The presentation layer provides translation facilities for application entities using different formats. Finally, the highest layer, the application layer performs all the operations which are necessary for interfacing with the resident application system in a computer, such as the operating system or other high level program. A detailed discussion of the ISO/OSI model may be found in the reference entitled ISO/TC97: Information Processing System, Open Systems Interconnection--Basic Reference Model, Draft International Standard ICO/DIS 7498 by the International Standards Organization, published in April 1982 and is reproduced as Appendix A in Anton Meijer and Paul Peters, Computer Network Architectures, Computer Science Press (1982). A discussion of the ISO/OSI model may also be found in David Hutchinson, Local Area Network Architectures, Addison Wesley (1988), at pages 23-28.
Each of the devices in a system such as 101-104, and 105-108 have unique identifiers associated with them in order to distinguish one device from another which are coupled to medium 110. These unique identifiers are typically stored in a ROM or other static device in the circuitry which handles communication among the various devices coupled to medium 110. Although internally each of the devices has a unique identifier associated with it, the unique identifier is not usually physically evident on the exterior of the device in the system. Therefore, at configuration time, it is difficult for an installer to determine the identifier associated with a particular device. Because the physical placement of a switch such as 105 may be important to control a specific light such as 101 which is physically located at a particular location, and its unique identifier will not be readily apparent to a human installer, it is difficult to configure a distributed intelligence control system. In addition, once devices am installed in an environment such as house 100, the identifying information may need to be updated in particular devices at a later time to control other units according to user requirements. This is also important for periodic maintenance. In summary, there are currently no means for providing external physical identification of devices in a networking system such as 100.